home *** CD-ROM | disk | FTP | other *** search
/ Java for 3D & VRML Worlds / Java for 3d and VRML Worlds.iso / examples / chap05 / MuDispatcher.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-10-06  |  1.7 KB  |  84 lines

  1. import java.io.DataInputStream;
  2. import java.io.DataOutputStream;
  3. import java.io.IOException;
  4. import java.net.Socket;
  5. import java.util.Vector;
  6.  
  7. class MuDispatcher extends Thread {
  8.    // $FF: renamed from: in java.io.DataInputStream
  9.    DataInputStream field_0;
  10.    DataOutputStream out;
  11.    Vector clients;
  12.  
  13.    MuDispatcher(Socket var1, Vector var2, int var3) {
  14.       super("MuDispatcher");
  15.       this.clients = var2;
  16.  
  17.       try {
  18.          this.field_0 = new DataInputStream(var1.getInputStream());
  19.          this.out = new DataOutputStream(var1.getOutputStream());
  20.          this.out.writeInt(var3);
  21.          ((Thread)this).start();
  22.       } catch (IOException var5) {
  23.          ((Throwable)var5).printStackTrace();
  24.       }
  25.    }
  26.  
  27.    public void run() {
  28.       float var3 = 0.0F;
  29.       float var4 = 0.0F;
  30.       float var5 = 0.0F;
  31.       float var6 = 0.0F;
  32.  
  33.       try {
  34.          while(true) {
  35.             int var1 = this.field_0.readInt();
  36.             int var2 = this.field_0.readInt();
  37.             var3 = this.field_0.readFloat();
  38.             var4 = this.field_0.readFloat();
  39.             var5 = this.field_0.readFloat();
  40.             if (var2 == 2) {
  41.                var6 = this.field_0.readFloat();
  42.             }
  43.  
  44.             for(int var7 = 0; var7 < this.clients.size(); ++var7) {
  45.                if (var7 != var1) {
  46.                   if (var2 == 2) {
  47.                      ((MuDispatcher)this.clients.elementAt(var7)).output(var1, var2, var3, var4, var5, var6);
  48.                   } else {
  49.                      ((MuDispatcher)this.clients.elementAt(var7)).output(var1, var2, var3, var4, var5);
  50.                   }
  51.                }
  52.             }
  53.          }
  54.       } catch (IOException var8) {
  55.          ((Throwable)var8).printStackTrace();
  56.       }
  57.    }
  58.  
  59.    public synchronized void output(int var1, int var2, float var3, float var4, float var5) {
  60.       try {
  61.          this.out.writeInt(var1);
  62.          this.out.writeInt(var2);
  63.          this.out.writeFloat(var3);
  64.          this.out.writeFloat(var4);
  65.          this.out.writeFloat(var5);
  66.       } catch (IOException var7) {
  67.          ((Throwable)var7).printStackTrace();
  68.       }
  69.    }
  70.  
  71.    public synchronized void output(int var1, int var2, float var3, float var4, float var5, float var6) {
  72.       try {
  73.          this.out.writeInt(var1);
  74.          this.out.writeInt(var2);
  75.          this.out.writeFloat(var3);
  76.          this.out.writeFloat(var4);
  77.          this.out.writeFloat(var5);
  78.          this.out.writeFloat(var6);
  79.       } catch (IOException var8) {
  80.          ((Throwable)var8).printStackTrace();
  81.       }
  82.    }
  83. }
  84.